4a687d4eddf9e24f4452ea5d0a6c69c605dc2073,plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parser/parsing/statements/expressions/arithmetic/PowerExpressionNotPlusMinus.java,PowerExpressionNotPlusMinus,parse,#PsiBuilder#,12

Before Change



  public static GroovyElementType parse(PsiBuilder builder){

    return  UnaryExpressionNotPlusMinus.parse(builder);

    // TODO realize me!
  }

After Change


  */
  public static GroovyElementType parse(PsiBuilder builder) {

    PsiBuilder.Marker marker = builder.mark();
    GroovyElementType result = UnaryExpressionNotPlusMinus.parse(builder);

    if (!result.equals(WRONGWAY)) {
      if (ParserUtils.getToken(builder, mSTAR_STAR)) {
        ParserUtils.getToken(builder, mNLS);
        result = UnaryExpression.parse(builder);
        if (result.equals(WRONGWAY)) {
          builder.error(GroovyBundle.message("expression.expected"));
        }
        PsiBuilder.Marker newMarker = marker.precede();
        marker.done(POWER_EXPRESSION_SIMPLE);
        result = POWER_EXPRESSION_SIMPLE;
        if (mSTAR_STAR.equals(builder.getTokenType())) {
          subParse(builder, newMarker);
        } else {
          newMarker.drop();
        }
      } else {
        marker.drop();
      }
    } else {
      marker.drop();
    }
    return result;
  }

  private static GroovyElementType subParse(PsiBuilder builder, PsiBuilder.Marker marker) {